﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CharacterCreation.Data.Models {
    public class Constitution : Statistic {
        /// <summary>
        /// Gets or sets the BasicHitPointAdjustment
        /// </summary>
        public int BasicHitPointAdjustment {
            get { return _BasicHitPointAdjustment; }
            set {
                _BasicHitPointAdjustment = value;
                RaisePropertyChanged("BasicHitPointAdjustment");
            }
        }
        private int _BasicHitPointAdjustment;
        
        /// <summary>
        /// Gets or sets the HealingRate
        /// </summary>
        public float HealingRate {
            get { return _HealingRate; }
            set {
                _HealingRate = value;
                RaisePropertyChanged("HealingRate");
            }
        }
        private float _HealingRate;
        
        /// <summary>
        /// Gets or sets the ResistanceToDisease
        /// </summary>
        public int ResistanceToDisease {
            get { return _ResistanceToDisease; }
            set {
                _ResistanceToDisease = value;
                RaisePropertyChanged("ResistanceToDisease");
            }
        }
        private int _ResistanceToDisease;
        
        /// <summary>
        /// Gets or sets the ResistanceToPoison
        /// </summary>
        public int ResistanceToPoison {
            get { return _ResistanceToPoison; }
            set {
                _ResistanceToPoison = value;
                RaisePropertyChanged("ResistanceToPoison");
            }
        }
        private int _ResistanceToPoison;

        public Constitution() {
            this.Name = "Constitution";
        }

        public override string ToString() {
            return string.Format("BHPA:{0}, HR:{1}, RTD:{2}, RTP:{3}", 
                this.BasicHitPointAdjustment, this.HealingRate, this.ResistanceToDisease, this.ResistanceToPoison);
        }
    }
}
